/**
 * 测试运行器
 * 统一运行所有单元测试
 */

import { runAllTests as runDataServiceTests } from './DataService.test';
import { runAllErrorHandlingTests } from './ErrorHandler.test';
import { runAllCacheManagerTests } from './CacheManager.test';

/**
 * 运行所有单元测试
 */
export async function runAllUnitTests(): Promise<void> {
  console.log('========================================');
  console.log('         鸿蒙框架单元测试套件');
  console.log('========================================\n');
  
  try {
    // 运行数据服务测试
    await runDataServiceTests();
    console.log('\n');
    
    // 运行错误处理测试
    await runAllErrorHandlingTests();
    console.log('\n');
    
    // 运行缓存管理测试
    await runAllCacheManagerTests();
    
    console.log('\n========================================');
    console.log('         所有测试执行完成');
    console.log('========================================');
  } catch (error) {
    console.error('测试执行过程中发生错误:', error);
  }
}

/**
 * 运行指定类型的测试
 * @param testType 测试类型: 'data', 'error', 'cache', 'all'
 */
export async function runTests(testType: string = 'all'): Promise<void> {
  switch (testType.toLowerCase()) {
    case 'data':
      await runDataServiceTests();
      break;
    case 'error':
      await runAllErrorHandlingTests();
      break;
    case 'cache':
      await runAllCacheManagerTests();
      break;
    case 'all':
    default:
      await runAllUnitTests();
      break;
  }
}